package OptimizeDAO;

import bean.Customers;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;

/**
 *
 * 此接口用于规范针对于customers表的常用操作
 */
public interface CustomerDAO {

    /**
     * 将cust对象添加到数据库中
     * @param connection
     * @param customers
     * @return
     */
    boolean insertCustomer(Connection connection, Customers customers);
    /**
     * 根据指定的id 删除表中的一条记录
     * @param connection
     * @param id
     * @return
     */
    boolean deleteById(Connection connection, int id);

    /**
     * 针对内存中的cust对象, 去修改表中某一条记录
     * @param connection
     * @param customers
     * @return
     */
    boolean updateById(Connection connection, Customers customers);

    /**
     * 针对指定的id查询得到对应的一个Customer对象
     * @param connection
     * @param id
     * @return
     */
    Customers getCustomerById(Connection connection,int id);

    /**
     * 查询表中所有的记录
     * @param connection
     * @return
     */
    List<Customers> getAllCustomer(Connection connection);

    /**
     * 返回数据表中的数据的条目
     * @param connection
     * @return
     */
    Long getCount(Connection connection) throws SQLException;

    /**
     * 返回数据表中最大的生日
     * @param connection
     * @return
     */
    Date getMaxBirth(Connection connection);

}
